package logs

import (
	"gitee.com/xgotool/sqlite-logs-more/model"
)

// 获取pipe中的日志列表
//
//	der_id	设备ID，0表示全部
//	args	所选应用名称，空为获取全部
//	offset	跳过条数
//	limit	查询条数
func PipeList(der_id int64, args string, offset, limit int) (int64, []model.PipeLog, error) {
	conn, err := Connect()
	if err != nil {
		return 0, nil, err
	}
	pipe := model.PipeLog{}
	lis := []model.PipeLog{}
	db := conn.Table(pipe.TableName())
	if args != "" {
		db.Where("args", args)
	}
	if der_id > 0 {
		db.Where("did", der_id)
	}
	var count int64
	err = db.Count(&count).Error
	if err != nil {
		return 0, nil, err
	}
	err = db.Order("id DESC").Offset(offset).Limit(limit).Find(&lis).Error
	if err != nil {
		return 0, nil, err
	}
	return count, lis, nil
}
